// 检测一个数组中的元素是否都能符合条件，都符合条件返回true，有一个不符合则返回 false
// 如果收到一个空数组，此方法在任何情况下都会返回 true
// 回调函数一共接收3个参数，同 map 方法一样。分别是：「正在处理的当前元素的值、正在处理的当前元素的索引、正在遍历的集合对象」
Array.prototype.every = function (fn) {
    for (let i = 0; i < this.length; i++) {
        if (!fn(this[i], i, this)) {
            return false
        }
    }
    return true
}

// Test
let a = [1, 2, 3].every((item) => {
    return item > 0
})

console.log(a) // true

